$(function () {
    $.ajax({
        url: "./goSaleBack/initPage", //请求的url地址
        xhrFields: {
            withCredentials: true
        },
        dataType: "json", //返回格式为json
        type: "POST", //请求方式
        processData: false, //对表单data数据是否进行序列化
        contentType: false, //dataType设置你收到服务器数据的格式
        headers: {
            'Content-Type': 'application/json'
        },
        beforeSend: function() {
            //请求前的处理
        },
        success: function(data) {
            if(data.status==0){
                // top.location.href = "../../login.html";
                window.location.href="../../login.html";
            }
            if(data.status=="1"){
                console.log(data)
                var data_json = JSON.parse(data.data);
                $("#StoreSelect").empty();
                $("#StoreSelect").append("<option value=''>选择中心/店面</option>");
                for(var i=0;i<data_json.data.length;i++){
                    $("#StoreSelect").append("<option value='"+data_json.data[i].Post+"'>"+data_json.data[i].Post+"</option>");
                }

            }
        },
        complete: function() {
            //请求完成的处理
        },
        error: function() {}
    });

    //搜索岗位下拉框
    $.ajax({
        url: "./goSaleBack/queryAllSalePost", //请求的url地址
        xhrFields: {
            withCredentials: true
        },
        dataType: "json", //返回格式为json
        type: "POST", //请求方式
        processData: false, //对表单data数据是否进行序列化
        contentType: false, //dataType设置你收到服务器数据的格式
        headers: {
            'Content-Type': 'application/json'
        },
        beforeSend: function() {
            //请求前的处理
        },
        success: function(data) {
            if(data.code==200){
                var data_json = JSON.parse(data.data);
                $("#PostSelect").empty();
                $("#PostSelect").append("<option value=''>选择岗位</option>");
                for(var i=0;i<data_json.data.length;i++){
                    if(data_json.data[i].Post==null){
                        $("#PostSelect").append("<option value='其他'>其他</option>");
                    }else{
                        $("#PostSelect").append("<option value='"+data_json.data[i].Post+"'>"+data_json.data[i].Post+"</option>");
                    }
                }

            }else{
                window.location.href="../../login.html";
            }
        },
        complete: function() {
            //请求完成的处理
        },
        error: function() {}
    });

})


var pageSize = 99999999;
var vm = new Vue({
    el: "#app",
    data:function(){
        return{
            editDataModalFlag:false,
            standardObject:{},
            // 在脚本中，我们在表格中定义的数据和表头都需要在这里进行绑定
            columns1: [
                /*{
                    title: 'ID',
                    key: 'ID',
                    align : 'center'
                },*/
                {
                    title: '中心店面',
                    key: 'Store',
                    align : 'center',
                    width:80
                },
                {
                    title: '岗位',
                    key: 'Post',
                    align : 'center',
                    width:160
                },
                {
                    title: '类别',
                    key: 'CName',
                    width:70,
                    align : 'center'
                },
                {
                    title: '项目',
                    key: 'PName',
                    align : 'center',
                    width:230,
                    render: (h, params) => {
                        return h('div', [
                            h('span', {
                                style: {
                                    display: 'inline-block',
                                    width: '100%',
                                    overflow: 'hidden',
                                    textOverflow: 'ellipsis',
                                    whiteSpace: 'nowrap'
                                },
                                domProps: {
                                    title: params.row.PName
                                }
                            }, params.row.PName)
                        ]);

                    }
                },
                {
                    title: '岗位标准',
                    key: 'Name',
                    align : 'center',
                    render: (h, params) => {
                        return h('div', [
                            h('span', {
                                style: {
                                    display: 'inline-block',
                                    width: '100%',
                                    overflow: 'hidden',
                                    textOverflow: 'ellipsis',
                                    whiteSpace: 'nowrap'
                                },
                                domProps: {
                                    title: params.row.Name
                                }
                            }, params.row.Name)
                        ]);

                    }
                },
                {
                    title: '基数(元)',
                    key: 'Base',
                    align : 'center',
                    width:90
                },
                {
                    title: '占比(%)',
                    key: 'Proportion',
                    align : 'center',
                    width:90
                },
                {
                    title: '金额(元)',
                    key: 'Money',
                    align : 'center',
                    width:90
                },
                {
                    title: '操作',
                    key: '',
                    width: 150,
                    align: 'center',
                    render: (h, params) => {
                        return h('div', [
                            h('Button', {
                                props: {
                                    type: 'primary',
                                    size: 'small'
                                },
                                style: {
                                    border:'#7B7B7B',
                                    background:'#7B7B7B',
                                    marginBottom:'1px',
                                    marginRight: '5px'
                                },
                                on: {
                                    click: () => {
                                        this.edit(params)
                                    }
                                }
                            }, '修改'),
                            h('Button', {
                                props: {
                                    type: 'error',
                                    size: 'small'
                                },
                                style: {
                                    border:'#7B7B7B',
                                    background:'#7B7B7B',
                                    marginRight: '5px'
                                },
                                on: {
                                    click: () => {

                                        this.deleteAss(params)
                                    }
                                }
                            }, '删除'),
                        ]);

                    }
                }
            ],
            // 接下来绑定数据，分别对应前面的列的key值来进行数据绑定
            historyData: [],
            // 初始化信息总条数
            dataCount:0,
            stripe:true
        }
    },

    methods: {
        deleteAss (params) {
            this.$Modal.confirm({
                title: '是否确定删除',
                content: '<p></p><p>确定删除？</p>',
                onOk: () => {
                    this.remove(params);
                    this.$Message.info('删除成功');

                },
                onCancel: () => {
                    this.$Message.info('取消删除');
                }
            });
        },
        querytable(pageNum,pageSize){
            var info ;
            var total;
            var Store = $("#StoreSelect").val();
            if(Store==""||Store==null){
                Store = "";
            }
            var Post = $("#PostSelect").val();
            if(Post==""||Post==null){
                Post = "";
            }
            var jsondata={"Store": Store,"Post":Post,"page":pageNum, "row":pageSize};
            var data_json = JSON.stringify(jsondata);
            $.ajax({
                url: "./goSaleBack/queryAllStandard", //请求的url地址
                dataType: "json", //返回格式为json
                async:false,
                data: data_json, //参数值
                type: "POST", //请求方式
                processData: false, //对表单data数据是否进行序列化
                contentType: false, //dataType设置你收到服务器数据的格式
                headers: {
                    'Content-Type': 'application/json'
                },
                success: function(data) {
                    info = eval(data.data);
                    total = data.totalnum;
                },
                error: function() {},
            });
            if(info){
                this.historyData = info;
                this.dataCount = total;
            }
        },
        // 2 分页
        changepage(index){
            this.querytable(index,pageSize);
        },
        //3 修改
        edit(params){
            var self = this
            self.editDataModalFlag = true
            self.standardObject = params.row;
        },
        //3 删除
        remove(params){
            var rowId = params.row.ID;
            for(var i=0;i<this.historyData.length;i++){
                if(rowId == this.historyData[i]['ID'] ){
                    this.historyData.splice(i,1);
                }
            }


            var self = this
            self.standardObject = params.row;
            var jsondata = self.standardObject;
            var data_json = JSON.stringify(jsondata);
            $.ajax({
                url: "./goSaleBack/deleteStandardById", //请求的url地址
                dataType: "json", //返回格式为json
                async:false,
                data: data_json, //参数值
                type: "POST", //请求方式
                processData: false, //对表单data数据是否进行序列化
                contentType: false, //dataType设置你收到服务器数据的格式
                headers: {
                    'Content-Type': 'application/json'
                },
                success: function(data) {
                    toastr.success('删除成功');
                    // location.reload();
                },
                error: function() {
                    toastr.error('删除失败，请重新删除');
                },
            });
        },
        doEditData () {
            var Base = $("#Base").val().trim();
            var Proportion = $("#Proportion").val().trim();
            var baseflag = testZhengLiang2(Base);
            if(baseflag==false){
                toastr.error('基数必须为两位小数以内的正数');
                this.querytable(1,99999999);
                return false;
            }
            var proportionflag = testZhengLiang(Proportion);
            if(proportionflag==false){
                toastr.error('占比必须为两位小数点以内的正数');
                this.querytable(1,99999999);
                return false;
            }

            var self = this
            var jsondata = self.standardObject;
            var data_json = JSON.stringify(jsondata)
            $.ajax({
                url: "./goSaleBack/updateStandardById", //请求的url地址
                dataType: "json", //返回格式为json
                async:false,
                data: data_json, //参数值
                type: "POST", //请求方式
                processData: false, //对表单data数据是否进行序列化
                contentType: false, //dataType设置你收到服务器数据的格式
                headers: {
                    'Content-Type': 'application/json'
                },
                success: function(data) {
                    toastr.success('保存成功');
                    // location.reload();
                },
                error: function() {
                    toastr.error('保存失败，请重新保存');
                },
            });
        },

    }
})

//判断是否为正数
function validate(num)
{

    var reg = /^\d+(?=\.{0,1}\d+$|$)/
    if(reg.test(num)){
        return true ;
    } else{
        return false ;
    }
}

//判断是否为0到1的小数
function nn(n){
    if(/^(0.\d+|0|1)$/.test(n)){
        return true;
    }else{
        return false;
    }
}

//1到100两位小数点正数
function testZhengLiang(num) {
    if(!isNaN(num)){
        var dot = num.indexOf(".");
        if(dot != -1){
            var dotCnt = num.substring(dot+1,num.length);
            if(dotCnt.length > 2){
                return false;
            }
        }
    }else{
        return false;
    }
    if(num<0||num>100){
        return false;
    }
    return true;
}

//两位小数点正数
function testZhengLiang2(num) {
    if(!isNaN(num)){
        var dot = num.indexOf(".");
        if(dot != -1){
            var dotCnt = num.substring(dot+1,num.length);
            if(dotCnt.length > 2){
                return false;
            }
        }
    }else{
        return false;
    }
    return true;
}